1. Field of the Invention
The present invention relates generally to the field of storage devices used for storing digital data for a variety of applications. More particularly, the present invention relates to a system for improving the reliability of and the access time to data stored in an array of disk drives.
2. Discussion of the Prior Art
In recent years, central processing unit speed and main memory speed of digital computers has increased tremendously. However, during the same period, the speed of secondary memory devices, such as disk drives, has not kept pace with the increase in speed of other parts of computer hardware. In order to allow secondary memory devices, such as disk drives, to keep pace with improvements in other computer hardware, in terms of both the capacity of disk drives to store data and the speed with which the data can be extracted from the disk drives, the prior art has proposed the use of arrays of disk drives. For example, the paper A Case For Redundant Arrays Of Inexpensive Disks, by Patterson, Gibson, and Katz, published in December, 1987, describes several ways that redundant disks have been used in the past to improve the cost and performance of disk drives. Additionally, the Patterson et al. paper describes ways that redundant disks have been used in the prior art to improve the availability of data from a disk drive array. The Patterson et.al. paper classifies the techniques used to improve disk drive performance into levels of RAID (an acronym for Redundant Arrays of Inexpensive Disks). Patterson et.al. present a taxonomy of RAID levels 1-5. The most advanced level of RAID, level 5, uses a number of disks to store a combination of data and redundant information. The redundant information allows reconstruction of the data on any sector on the disk drive should that sector become defective. By distributing the data and redundant information across all the disks in the array, RAID level 5 improves the performance of read modify write operations using small amounts of data and data transfer operations using large amounts of data. The useful storage capacity as a percentage of the total disk drive array storage capacity is also increased.
All of the RAID systems (levels 1-5) described in the Patterson et.al. paper use a data recovery method that combines the redundant data including the check data and parity data from each of the disks in the array in order to reconstruct the data from a defective sector on a disk. However, the recovery process adds significant time to the data access time for data from a defective disk sector within the array. Each time the defective sector is accessed, the recovery process which may take more time than the time required for several disk accesses, must be performed. Eventually, one or more of the disks in the array will have a high enough error rate to require replacement of the defective disks for performance or data availability reasons. While the defective disk or disks are being replaced, the data in the disk array is either completely unavailable to the system or the data rate of the disk array is very low because of the high number of disk accesses and processing time that is required to read and copy the good data from the malfunctioning disk plus all of the reconstructed data (recovered by the recovery process) to the new disk drive. "Re-silvering," the term for the process of writing the data to the new disk drive, is time consuming and computationally intensive.
Therefore, an object of the present invention is to provide a method and apparatus for improving data availability and reliability in a disk drive array.
A further object of the present invention is to provide a method and apparatus for transferring data from a malfunctioning disk to a new disk drive in a disk drive array.
Another object of the present invention is to provide a method and apparatus for decreasing the access time to the data on subsequent disk accesses after the data has been recovered once from a malfunctioning disk drive.
Still another object of the present invention is to provide a method and apparatus for decreasing the time needed to re-silver a new disk when the new disk is added to a disk drive array.
Still another object of the present invention is to provide a method and apparatus for increasing disk drive array performance and reliability at low cost.
Yet another object of the present invention is to provide a method for improving data access and reliability that can be practiced in either computer hardware or computer software.